#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# ======================================================
# @File:      : test27
# @Author     : forward_huan
# @Date       : 2024/11/16 15:13
# @Desc       :
# ======================================================
from typing import List


class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        left, right = 0, len(nums) - 1
        while left <= right:
            if nums[left] == val:
                nums[left], nums[right] = nums[right], nums[left]
                right -= 1
            else:
                left += 1
        return left


print(Solution().removeElement(nums=[3, 2, 2, 3], val=3))
print(Solution().removeElement(nums=[0, 1, 2, 2, 3, 0, 4, 2], val=2))
print(Solution().removeElement(nums=[1], val=1))
